# IRC - Internet Remote Car
[🇷🇺 RUSSIAN](README_RU.md)
[🇬🇧 ENGLISH](README.md)

## О проекте
Это какая-то машина с простым 3-х степенным манипулятором, которой можно управлять удаленно через Интернет, вот и все, что я хочу сказать.


## Электрическая схема | PCB
Мы используем EasyEDA для разработки схемы нашего проекта, но мы не будем производить печатную плату для этой машины.

## CAD файлы
Kompas 3d files located in `./CAD`

![Schematic_IRC_2023-11-12.png](./Schematic_IRC_2023-11-12.png)
### Base Architecture
- `Высокий уровень`:
    - Плата: RPI 3b+
    - Переферия: Usb вебкамера
    - Задачи: "стримить изображение с камеры в RealTime'e на вебсокет"; "держать http сервак с клиентом и API для управления"
    - Связь с нижним уровнем: UART через USB кабель
- `Нижний уровень`:
    - Плата: Arduino Uno R3
    - Шилды: Amperka Base Extension, Blue L293D Servo-Motor Shield
    - Задачи: "управлять сервами манипулятора", "упралвять dc моторами"

## Firmware
Код находится в директории`./Firmware`. Это простой, тупой код Arduino для выполнения команд из UART (последовательный порт USB, подключенный к RPI высокого уровня).

## Software
Код в каталоге `./Software`. Я активно разрабатываю набор инструментов для потоковой передачи RPi (и не только) в реальном времени [здесь](https://github.com/ret7020/CameraStreamingToolkit)
